/*
 * NuevaPaginaUsuarioAction.java
 *
 * Created on 12 de noviembre de 2007, 2:11
 *
 * To change this template, choose Tools | Template Manager
 * and open the template in the editor.
 */

package webportlet.model.portletfacade.plain.action;

import java.sql.Connection;
import java.util.ArrayList;
import webportlet.model.marcador.dao.SQLMarcadorDAO;
import webportlet.model.marcador.dao.SQLMarcadorDAOFactory;
import webportlet.model.marcador.dto.MarcadorDTO;
import webportlet.model.pagina.dao.SQLPaginaDAO;
import webportlet.model.pagina.dao.SQLPaginaDAOFactory;
import webportlet.model.pagina.dto.PaginaDTO;
import webportlet.model.usuario.dao.SQLUsuarioDAO;
import webportlet.model.usuario.dao.SQLUsuarioDAOFactory;
import webportlet.model.usuario.dto.UsuarioDTO;
import webportlet.model.util.DuplicateInstanceException;
import webportlet.model.util.InstanceNotFoundException;
import webportlet.model.util.InternalErrorException;
import webportlet.model.util.NonTransactionalPlainAction;

/**
 *
 * @author Alvarete
 */
public class NuevaPaginaUsuarioAction implements NonTransactionalPlainAction{
    
     private String nickName;

    public NuevaPaginaUsuarioAction(String nickName) {
        
        this.nickName = nickName;
    }
        

    public Object execute(Connection connection) 
        throws InstanceNotFoundException, DuplicateInstanceException, 
               InternalErrorException {
        
        SQLPaginaDAO  paginaDAO = SQLPaginaDAOFactory.getDAO();
        
        PaginaDTO paginaDTO = new PaginaDTO(new Long(0), nickName, 1);
        
        ArrayList <Long> listaMarcador = new ArrayList();
        MarcadorDTO marcadorDTO = new MarcadorDTO(new Long(0),
                "Universidad San Pablo CEU","http://www.uspceu.com");
        SQLMarcadorDAO marcadorDAO = SQLMarcadorDAOFactory.getDAO();
        marcadorDTO = marcadorDAO.create(connection,marcadorDTO);
        listaMarcador.add(marcadorDTO.getId());
        
        ArrayList <Long> lista = new ArrayList();
        lista.add(new Long(1));
        
        paginaDTO = paginaDAO.create(connection,paginaDTO);
        paginaDTO.setMarcadores(listaMarcador);
        paginaDTO.setIndicesBursatiles(lista);
        
        paginaDAO.update(connection,paginaDTO);
        
        return paginaDAO.find(connection,nickName);
    }
}
